DP83815/816 (MacPhyter) NDIS 5.0/4.0 Miniport Driver Release Notes
Inf Update only.
Version 5.0.138.0
  Windows XP, Windows 2000
  Windows ME, Windows 98 Second Edition
Version 4.0.138.0
  Windows NT 4.0, Windows 98

November 4, 2003
Developer - Rod Girod
Validation -


-----------------------------------------------------------------------------
PRODUCT INFORMATION
-----------------------------------------------------------------------------
The Windows family of drivers for the DP83815 MacPhyter3v and DP83816
MacPhyterII consist of a serialized NDIS 4.0, a serialized NDIS 5.0 and a
deserialized NDIS 5.0 that are produced from the same code base using a
series of conditional compiles.

  DP83815X.sys Version 4.0.138.0 is intended for use with Windows 98,
  and Windows NT 4.0 SP3.

  DP83815X.sys Version 5.0.138.0 is intended for use with Windows 98 Second
  Edition and Windows ME.

  DP83815.sys Version 5.0.138.0 is intended for use with Windows 2000 and
  Windows XP.


-----------------------------------------------------------------------------
INSTALLATION INSTRUCTIONS
-----------------------------------------------------------------------------
Windows XP is shipped with a Netgear FA312 driver which will automatically
install itself when a DP83815/816 based adapter is installed in an XP system.
This driver can be updated via the Device Manager, however inf changes for
the DP83815.sys may not apply properly when the update driver option is used.
A preferred method is to delete the netfa312.inf and netfa312.pnf files from
the Windows\inf directory, remove the dp83815 adapters using the device
manager and then reboot, or scan for hardware changes.  This will allow plug-
n-play installation to proceed as a newly supported device.

All versions of Windows prior to Windows XP ship without a driver for the
DP83815/816.  All that is required in this case is to insert the adapter into
the system, turn on the system and point Windows to the location of the
DP83815/816 driver when asked.  Windows will complete the driver installation.
Further configuration of the network is site/system specific.

-----------------------------------------------------------------------------
BUILD INSTRUCTIONS
-----------------------------------------------------------------------------
Refer to the README.TXT file located with the source code for detailed
information regarding how to build the driver set.


-----------------------------------------------------------------------------
UNIT TEST
-----------------------------------------------------------------------------
Testing:

Results:


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
11/04/2003      Version 5.0.138.0

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------

  1)  Changed from hardware padding of runt packets to software padding to
      insure a zero filled packet now looked for by XP HCT's.  This is
      accomplished through the use of an additional descriptor that points
      to an all zero buffer.  It requires additional bus time, but does not
      allow any old data bytes to be sent again.

  2)  Implemented addtional Wake On Lan changes for NDIS 4.0 to address issues
      seen in an NDIS 4.0 Point of Sale application.

  3)  Added an Auto-Neg 100 Mbps Full Duplex/Half Duplex configuration option
      for Taiwan.

  4)  Corrected packet filter and multicast address list handling in
      MiniportReset.


-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------

EUPHINIT.C

  1)  Modified phyConfigData entries to add Pause to the Force 100 Full Duplex
      and Force 10 Full Duplex entries - per Taiwan

  2)  Added a phyConfigData entry for AutoNeg 100 Mb Half/Full Duplex - per
      Taiwan

  3)  Modified phyConfigData handling for additional entry - per Taiwan.

  4)  Made ShutdownHandler registration "wakeOnLan" conditional for NDIS 4.0
      - for POS application.

  5)  Allocated a shared memory area for zero filled runt packet padding.

  6)  Modified ReturnResources to release the packet padding memory.

EUPHYTER.C

  1)  Modified SendNdisPacket to pad packets less that 60 bytes with zeroes.

  2)  Removed NDIS 5.0 conditional compilation of OID_PNP_ADD_WAKE_UP_PATTERN,
      OID_PNP_ENABLE_WAKE_UP, OID_PNP_REMOVE_WAKE_UP_PATTERN, OID_PNP_SET_POWER,
      OID_PNP_CAPABILITIES, OID_PNP_ENABLE_WAKEUP and OID_PNP_QUERY_POWER and
      added wakeOnLan conditional execution for NDIS 4.0 - for POS applications.

  3)  Modified EuphyterReset to retain packet filters and multicast address
      list and to return pAddressingReset = FALSE for NDIS 5.0 applications.

EUPHYTER.R5N
EUPHYTER.RC4
EUPHYTER.RC5

  1)  Updated DriverVersion to 138.0

EUPHYTSW.H

  1)  Added pPacketPad and padPhysAddress variables to track runt packet padding
      memory allocation.

Win98t4\DP83815x.sys
Win98t4\DP83815x.pdb
Win98t4\Checked Binaries\DP83815x.sys
Win98t4\Checked Binaries\DP83815x.pdb

Win98seME2kXP\DP83815.sys
Win98seME2kXP\DP83815.pdb
Win98seME2kXP\DP83815x.sys
Win98seME2kXP\DP83815x.pdb
Win98seME2kXP\Checked Binaries\DP83815.sys
Win98seME2kXP\Checked Binaries\DP83815.pdb
Win98seME2kXP\Checked Binaries\DP83815x.sys
Win98seME2kXP\Checked Binaries\DP83815x.pdb

  1)  Updated binaries/symbols

Win98nt4\NET83815.INF
Win98seME2kXP\NET83815.INF

  1)  Updated DriverVer
  2)  Added Auto Neg 100 Mb HD/FD selection

Win98nt4\OEMSETUP.INF

  1)  Added Auto Neg 100 Mb HD/FD selection


-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------

MiniPortReset did not correctly maintain the packet filter and multicast
address list and relied upon the upper layer defaulting to addressingReset
being TRUE.


-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------

The Forced Full Duplex configuration entries now contain pause enable bits,
however, as auto-neg is not used, this information is not likely to be
communicated to the partner and pause operation is questionable.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
05/01/2003      Version 5.0.137.3

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------

  1)  Changed Media selection to allow forcing of all speeds and duplexes.


-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------

EUPHINIT.C

  1)  Modified the phyConfigData elements to allow forcing of all speeds and
      duplexes.

EUPHYTER.RC4
EUPHYTER.RC5
EUPHYTER.R5N

  1)  Updated FILEVERSION, FileVersion and ProductVersion to 137.3

Win98t4\DP83815x.sys
Win98t4\DP83815x.pdb
Win98t4\Checked Binaries\DP83815x.sys
Win98t4\Checked Binaries\DP83815x.pdb

Win98seME2kXP\DP83815.sys
Win98seME2kXP\DP83815.pdb
Win98seME2kXP\DP83815x.sys
Win98seME2kXP\DP83815x.pdb
Win98seME2kXP\Checked Binaries\DP83815.sys
Win98seME2kXP\Checked Binaries\DP83815.pdb
Win98seME2kXP\Checked Binaries\DP83815x.sys
Win98seME2kXP\Checked Binaries\DP83815x.pdb

  1)  Updated binaries/symbols

Win98nt4\NET83815.INF
Win98seME2kXP\NET83815.INF

  1)  Updated DriverVer
  2)  Modified Media displays to reflect forced configurations.

Win98nt4\OEMSETUP.INF

  1)  Modified Media displays to reflect forced configurations.
  2)  Added Auto Neg 10 Mb HD/FD selection


-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------


-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
03/25/2003      Version 5.0.137.2 Inf update only.

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------

  None


-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------

  1)  Updated binaries/symbols


Win98seME2kXP\NET83815.INF

  1)  Updated DriverVer
  2)  Added SVIDs and SSIDs for the following
      Uniwill    SV 1584 SS 9010
      Mitac      SV 1071 SS 0109 SS 0103
                 SV 1631 SS E006 SS E007
      Quanta     SV 152D SS 0701
      PC Partner SV 174B SS A000


-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------

   None

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------

-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
02/13/2003      Version 5.0.137.2

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------

  1)  In NDIS 4.0 and non NT versions of NDIS 5.0, wait up to 3 seconds for
      link before completing EuphyterInitialize.  This is to reduce the
      number of link down/up indications during system initialization.
  2)  Reduce the frequency of resetting the phy during EuphyterInitialize to
      only when a better speed/duplex match can be expected.
  3)  Turn on recognition of Pause frames.
  4)  Apply the short cable phy adjustments to A4 MacPhyterII's.
  5)  Add additional vendor/device id's to the inf.


-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------

EUPHINIT.C

  1)  Added comments to the phyConfigData elements so as to clarify their
      purpose and intent.  The Force 10 FD entry has been being altered in
      the field without regard to the Netgear SW108 and other 10Mb switches
      that do not support auto negotiation.
  2)  Implemented conditional code for Win98 and WinME to identify when a
      NetworkAddress parameter is actually valid by looking at the contents
      of the "Ndi\params\NetworkAddress\(Default) subkey.
  3)  Added a conditional wait of up to 3 seconds, following a phy reset,
      for link detection and completion of auto negotiation for all versions
      prior to NT5.  This is an attempt to solve a blue screen on link up
      reporting that has been seen in Win98.
  4)  Corrected the BestLink function to better identify when a phy reset
      was required during startup.  This results in a greatly reduced need
      to reset the phy during driver startup providing for quicker startups
      with less link up/down indications.  This also corrected the speed
      change problems QA reported in 137.1

EUPHYINT.C

  1)  Added configuration of the Pause Control/Status Register to enable
      recognition of Pause frames when a full duplex connection is
      established.

EUPHYTER.C

  1)  Added configuration of the Pause Control/Status Register to enable
      recognition of Pause frames when operating in full duplex mode.
  2)  No longer set link speed to 0 if the cable is disconnected.  This was
      reported as causing a problem with Win98 suspend/resume.
  3)  Allowed the short cable fix in CheckPhyCoefficient to be applied to
      the MacPhyterII (DP83816) Rev A4.  Rev A4 was only for evaluation
      purposes, but it is now addressed here.
  4)  Modified EuphyterShutdown to allow wake on receipt of a packet to our
      unicast address.  This is identical in function to a wake pattern set
      by WinXP.
  5)  Removed the WOL MAC Address pattern from SetupPatternMatch as it was
      a duplication of the WKUCP function.
  6)  Corrected the usage of =, instead of ==, in the IP packet type
      comparison in FindIpAddress.

EUPHYTER.RC4
EUPHYTER.RC5
EUPHYTER.R5N

  1)  Updated FILEVERSION, FileVersion and ProductVersion to 137.2

Win98t4\DP83815x.sys
Win98t4\DP83815x.pdb
Win98t4\CheckedBinaries\DP83815x.sys
Win98t4\CheckedBinaries\DP83815x.pdb

Win98seME2kXP\DP83815.sys
Win98seME2kXP\DP83815.pdb
Win98seME2kXP\DP83815x.sys
Win98seME2kXP\DP83815x.pdb
Win98seME2kXP\CheckedBinaries\DP83815.sys
Win98seME2kXP\CheckedBinaries\DP83815.pdb
Win98seME2kXP\CheckedBinaries\DP83815x.sys
Win98seME2kXP\CheckedBinaries\DP83815x.pdb

  1)  Updated binaries/symbols

Win98nt4\NET83815.INF
Win98seME2kXP\NET83815.INF

  1)  Updated DriverVer
  2)  Added PCI\VEN_100B&DEV_0020&SUBSYS_68161071 and
            PCI\VEN_100B&DEV_0020&SUBSYS_2201152D&REV_00 to the device list


-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------

  1)  Corrected continued use of an override MAC address after not present
      selected under Win98 and WinMe.
  2)  Corrected speed configuration problems seen with 137.1

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
01/10/2003      Version 5.0.137.1

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1)  Implemented Scatter/Gather for Windows 2000 and Windows XP.
  2)  Reduced startup latencies by only requesting a phy reset if the phy is
      not already linked at the highest and best speed allowed by the
      configuration and possible with the current partner.
  3)  Implemented default wake patterns to be used when WakeOnLan has been
      configured and Windows has not set any patterns.  Pattern 1 will match
      any packet sent to our specific MAC Address.  Pattern 2 will match any
      ARP sent to the last IP address associated with our MAC Address.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------

BUILDALL.CMD

  1)  Add copy of pdb files

EUPHINIT.C

  1)  Implement new phy reset determination routine, BestLink(), which
      greatly reduces unnecessary phy resets during driver startup.
  2)  Implement conditional (Win2k and WinXP) Scatter/Gather and discontinue
      allocation/use of Map Registers when using Scatter/Gather.
  3)  Implement ATAN phy attenuation adjustments if link not established at
      startup.

EUPHYINT.C

  1)  Reset phy attenuation to normal after link detection.
  2)  Apply ATAN phy attenuation adjustments after loss of link.
  3)  Make the call to NdisMCompleteBufferPhysicalMapping conditional for non
      Scatter/Gather implementations.

EUPHYTER.C

  1)  Implement Scatter/Gather in SendNdisPacket for Win2k and WinXP.
  2)  Corrected Tx packet coalesce selection.
  3)  Reduced the wcsr, rfcr configurations to only that required by the
      current WakeOnLan requirements.
  4)  Implement new function, AtanAdjust(), to reduce phy attentuation during
      auto negotiation.
  5)  Implement default wake patterns to be used if Windows has not set a
      pattern and WakeOnLan has been configured.  Pattern 1 is any packet sent
      to our specific MAC Address.  Pattern 2 is an ARP for our last known IP
      Address.
  6)  Implement new function, FindIpAddress(), to extract last IP Address
      used to communicate with our specific MAC address.

EUPHYTER.RC4
EUPHYTER.RC5
EUPHYTER.R5N

  1)  Adjust version number

EUPHYTSW.H

  1)  Defined new structure, IP_PACKET, for use when snooping IP packets.
  2)  Added ipAddress, arpPatternSize and arpPattern elements to the Adapter
      data structure.
  3)  Added BestLink(), AtanAdjust() and FindIpAddress() prototypes.

Win98seME2kXP\NET83815.INF

  1)  Set DriverVer to proper values.


-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------


-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
12/12/2002      Version 5.0.137.0

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Transmit Coalescing has been implemented to permanently resolve the too
     many fragments issue.  This version, is an alpha version, and coalesces
     all transmit packets.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
euphinit.c

  1) Modify EuphyterInitialize and ReturnResources to allocate, initialize
     and return MAX_TRANSMITS/2 Transmit Coalesce buffers for use when a
     packet is composed of more fragments than we have descriptors.
  2) Increase the number of NDIS_BUFFERs allocated so that we can use them
     with the Transmit Coalesce buffers and their NdisFlushBuffer.
  3) Correct the call to return the NdisPacketPool.  Was originally
     NdisFreeBufferPool and was changed to NdisFreePacketPool.

euphyint.c

  1) Modify ReclaimTransmitDescriptors to clear the pNdisBuffer element after
     the NdisBuffer has been unmapped.
  2) Modify ReclaimTransmitDescriptors to look into a coalesce buffer when
     available, rather than an NdisBuffer, to identify the destination address
     type.
  3) Modify ReclaimTransmitDescriptors to return a coalesce buffer to the
     available queue upon completion.

euphyter.c

  1) Modify SendNdisPacket to:
   a) Remove the code to abort a send packet that is composed of too many
      fragments.
   b) Disable the map/unmap packet construction by requiring a packet to be
      composed of less than 1 buffer.
   c) Coalesce all packets composed of one or more buffers into a driver
      owned coalesce buffer that requires only a single descriptor.
  2) Modify EuphyterReset to initialize the Tx Descriptor pCoalesceBuffer
     element to NULL.

euphyter.rc4
euphyter.rc5
euphyter.r5n

  1) Update the version from 136.0 to 137.0

euphythw.h

  1) Change MAX_DESCRIPTORS_PER_TRANSMIT from 32 to 8 to lower the total Tx
     Descriptors from 256 to 64.
  2) Add pCoalesceBuffer to the EUPHYTER_TX_DESCRIPTOR.
  3) Increase the size of EUPHYTER_TX_DESCRIPTOR and EUPHYTER_RX_DESCRIPTOR
     to 64 bytes to better align with P4 Xeon cache boundaries.

euphytsw.h

  1) Define a new FULL_COALESCE_BUFFER structure to contain coalesce packet
     info.
  2) Add numberOfAvailableCoalesceBuffers, pNextTxCoalesceBuffer,
     txCoalesceSize, pTxCoalesceBuffer and txCoalescePhysAddress to the
     EUPHYER_ADAPTER structure to control Tx coalesce buffers.

Win98nt4\dp83815x.sys

  New Binary (4.0.137.0)

Win98seME2kXP\dp83815.sys
Win98seME2kXP\dp83815x.sys

  New Binary (5.0.137.0)

Win98seME2kXP\net83815.inf

  Update driver date (12/12/02) and version (5.0.137.0)


-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
  1) Excessively fragmented transmit packets are no coalesced into a driver
     owned transmit buffer which only requires one tx descriptor.


-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
All tx packets are being coalesced.  This will be resolved in 137.1


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
08/18/2002      Version 5.0.135.21 through 5.0.135.18

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) The minimum number of receive buffers setting was changed from 40 to 16
     to help in testing recent bug fixes.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  All source files were modified except RESOURCE.H.

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
  1) A work around was implemented to properly recover and handle a condition
     which can occur under very heavy loads. When this occurs, corrupt
     receive packets are passed by the adapter to the host driver. The
     workaround detects this condition and resets the MAC receive logic.
     An erratta is available which fully describes this issue.

  2) An incompatibility with a third party Java video streaming applet was
     fixed. It was found that the applet was sending packets with more then
     128 data fragments. The maximum supported by the driver was 128. This
     would cause the driver's transmit engine to stop functioning. The
     maximum number of send fragments the driver supports was increased
     to 256.

  3) The transmit logic was enhanced to better handle send packets which
     contain more then 256 fragments. The packets are now returned with
     an error, and will not affect future transmit requests.

  4) Fixed an issue when the cable is disconnected during OS bootup. In
     this case, if the cable was left unplugged, it was impossible to
     subsequently shutdown, standby or hibernate the machine.


-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
Support for Windows 95 OSR2 has been discontinued. The 1.35.21 driver will
not function with Windows 95 OSR2.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
07/18/2002      Version 5.0.135.17

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Remove the RxORN and RxSOVR processing from EuphyterIsr.
  2) Restore max receive indications per isr to 128.
  3) Let Windows reenable interrupts upon completion EuphyterHandleInterrupt
     in Windows 2000/XP.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHYINT.C
  EUPHYTHW.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------


-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
07/17/2002      Version 5.0.135.16

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Modify EuphyterIsr to always queue the DPC if we were a source of the
     interrupt.
  2) Remove the recent addition of Wake on unicast from the S4/S5 WOL setup.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHYINT.C
  EUPHYTHW.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
System would not suspend/hibernate/shutdown with wkucp

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
07/17/2002      Version 5.0.135.15

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Modify EuphyterIsr to add processing of RxORN and RxSOVR events at
     ISR time.
  2) Reduce number of receive buffers that may be indicated during a single
     execution of EuphyterHandleInterrupt.
  3) Call EuphyterEnableInterrupt immediately before exiting
     EuphyterHandleInterrupt for all OS's.
  4) Modify the interrupt mask so as to allow processing of the RxORN and
     RxSOVR events
  5) Define new MAX_RX_INDICATIONS to 16.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHYINT.C
  EUPHYTHW.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
Attempt to correct receive packet corruption by early handling of Rx overrun
events

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
07/16/2002      Version 5.0.135.14

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Allow the shutdown handler in Windows 98 Second Edition and Millenium
  2) Return connect notification to phy interrupt processing for all OS's.
  3) Wait 100 us between writing dspcfg and reading tdata.
  4) Enable wake from S4/S5 on receipt of a unicast packet.
  5) Remove volatile definition of EuphPhyterRegs definition and remove
     casting of NdisWriteRegisterUlong parameters.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHINIT.C
  EUPHYINT.C
  EUPHYTER.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
??? - clarification required from Taiwan

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
07/11/2002      Version 5.0.135.13

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Define the EuphPhyterRegs structure as volatile to prevent XP DDK
     compiler from optimizing out register reads and writes.
  2) Add parameter casting to all NdisWriteRegisterUlong calls to compensate
     for the volatile definition.
  3) Modify CheckPhyCoefficient so that it does not attempt to apply the
     short cable fix to the 83816.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHINIT.C
  EUPHYINT.C
  EUPHYTER.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
The Windows XP DDK compiler/build environment is reported to handle register
access differently that previous versions.

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
06/13/2002      Version 5.0.135.12 - FOR INTERNAL TESTING ONLY

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Implemented preliminary short cable fix that had been used for early
     testing.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHINIT.C
  EUPHYINT.C
  EUPHYTHW.H
  EUPHYTSW.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
Implement short cable fix - FOR INTERNAL TESTING ONLY

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
06/13/2002      Version 5.0.135.11

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Created version specific euphyter.rc4, euphyter.rc5 and euphyter.r5n to
     replace generic euphyter.rc.
  2) Created sources.nt4 to create an NDIS 4.0 miniport with the NT 4.0 DDK.
  3) Created b4.bat for building NDIS 4.0 Miniport.
  4) Modified b5.bat and b5nt.bat to use proper .rc files.
  5) Change conditional definition of UINT32 for use with NT 4.0 DDK
     (SOURCES.NT4)  This corrects errors attempting to build an NDIS 4.0
     Miniport using the Windows 2000 DDK.
  6) Add Timer Initialization, Setup and Cleanup for Short Cable Adaptation.
  7) Modify Phy setup for version 4.xx and 5.xx
  8) Add CheckPhyCoefficient Timer routine to check for and correct short
     cable maladaption of the phy.


-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  B4.BAT
  B5.BAT
  B5NT.BAT
  SOURCES.NT4
  SOURCES.40
  NET83815.INF
  EUPHYTER.RC4
  EUPHYTER.RC5
  EUPHYTER.R5N
  EUPHYTER.C
  EUPHINIT.C
  EUPHYINT.C
  EUPHYTHW.H
  EUPHYTSW.H

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
Implement NDIS 4.0 build

Implement short cable fix per UIN.

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
06/10/2002      Version 5.0.135.10

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Modify EuphyterReset to initialize a link speed for Win98SE/WinME if a
     link has not been established upon exit.
  2) Remove Connect Indication for Win98SE/WinME
  3) Remove Initial Disconnect Indication for Win98SE/WinME.  NetBeui under
     Win98SE does not like a disconnect during system startup.
  4) The call to NdisMSendComplete in EuphyterSendPackets is not necessary
     under Win98SE/WinME.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC
  EUPHYTER.C
  EUPHINIT.C
  EUPHYINT.C

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
Restore compatibility with Windows 98 Second Edition

NetBeui under Windows 98 Second Edition does not start up properly if a
disconnect is reported during its startup.

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
06/03/2002      Version 5.0.135.9

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Replaced b.bat with b5.bat to build serialized NDIS 5.0 for Windows 98
     Second Edition and Windows Millenium and b5nt.bat to build a deserialized
     NDIS 5.0 for Windows 2000 and Windows XP.
  2) Make Deserialized attribute conditional for Win2k/WinXP only.
  3) Make registration of shutdown handler conditional for Win2k/WinXP only.
  4) Call EuphyterEnableInterrupt at conclusion of EuphyterHandleInterrupt in
     non Win2k/WinXP versions.
  5) Use NdisQueryBuffer in non Win2k/WinXP versions and NdisQueryBufferSafe
     in Win2k/WinXP versions.
  6) Modify EphyterSendPackets so that non Win2k/WinXP versions do not queue
     send packets if the link is down, but complete them immediately with
     NDIS_STATUS_SUCCESS.
  7) Make the wait for EuphyterHandleInterrupt and SendNdisPackets to complete
     conditional for Win2k/WinXP in EuphyterShutdown and EuphyterReset.
  8) Apply signature file to Win2k/WinXP only.
  9) Select between Win98SE/WinME (DP83815x.sys) and Win2k/WinXP (DP83815.sys)
     binaries at installation.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  B5.BAT
  B5NT.BAT
  SOURCES.50
  SOURCES.5NT
  NET83815.INF
  EUPHYTER.RC
  EUPHYTER.C
  EUPHINIT.C
  EUPHYINT.C

-----------------------------------------------------------------------------
DEFECTS CORRECTED
-----------------------------------------------------------------------------
Restore compatibility with Windows 98 Second Edition

-----------------------------------------------------------------------------
KNOWN ERRATA
-----------------------------------------------------------------------------
An NdisPacket composed of more than 127 physical fragments will never be
removed from the transmit queue as there will never be enough transmit
descriptors to describe the packet.  This will disable the drivers transmit
function.


-----------------------------------------------------------------------------
REVISION HISTORY
-----------------------------------------------------------------------------
05/20/2002      Version 5.0.135.8

-----------------------------------------------------------------------------
FUNCTIONAL CHANGES
-----------------------------------------------------------------------------
  1) Corrected while loop in EuphyterSetInformation OID_PNP_SET_POWER
     processing that would hang a system on return to full power if the phy
     did not obtain a valid link.

-----------------------------------------------------------------------------
FILE CHANGES
-----------------------------------------------------------------------------
  NET83815.INF
  EUPHYTER.RC
  EUPHYTER.C

-----------------------------------------------------------------------------
DEFECTS CORRECTED
----------------